Приложение Маяки Эстонии
3 Сентября

Вчера на всех платформах вышло новое обновление для моего приложения "Маяки Прибалтики". Наиболее важные его фишки: новые фотки и информация о маяке Вилсанди и пять недействующих латвийских маяков. В загашнике есть ещё два таких маяка, но в этом году я до них точно не доберусь. Ещё одно важное изменение - замена кнопок навигационных приложений на одну общую. В ходе этих мозгоклюйств я узнал, что есть особый тип ссылок, его и использовал. Гораздо проще для меня и удобнее для пользователей. Небольшая часть изменений - "под капотом", в основном они сделаны с прицелом на новое приложение. Чтож, пожалуй, пора рассказать и о нём.

приложения "Маяки Прибалтики"

Когда я начинал ездить по маякам Эстонии, я был уверен, что доберусь лишь до некоторой части, но не до всех. Объездил все, многие по несколько раз. Когда меня спрашивали на радио, не планирую ли я расширить своё приложение с маяков Эстонии до Латвии или Литвы, я уверенно отвечал, что нет. Уже 10 месяцев, как там вся Прибалтика. И уж точно я никогда бы не подумал, что возьмусь за новое приложение о маяках такой большой страны, как Россия. Отправной точкой тут несомненно стала поездка на Жужмуй. Я пообщался с представителями российского комьюнити любителей маяков. Это интереснейшие люди, преданные маякам также фанатично, как и я, а кто-то и больше. И именно с целью продолжить это общение и завести новые связи я решился делать новое приложение. А ещё мне самому это очень интересно.

Я очень горжусь своим прибалтийским приложением, так как знаю, что за ним стоит. Такой информации в онлайне не найти нигде, кроме приложения и данного сайта, да и фото тоже. И это качество контента очень мне дорого. Для приложения "Маяки России" от этой идеологии пришлось отказаться - объём маяков слишком велик (по моим очень приблизительным прикидкам 300-400), а я сам видел из них лишь 7-8, а фоткал и вовсе три. Поэтому главная идея нового приложения - сначала количество контента, а потом его качество. Не надо трактовать это в плохом контексте. В приложение будут добавляться не все, а лишь интересные для туристов маяки. Кроме "мёртвого", что крайне печально, форума mayaki.ru, я больше не знаю мест, где была бы собрана информация о большом количестве маяков России. Именно поэтому я говорю о превалировании количества над качеством и это только плюс. Да, на поиск и проверку исторической информации для каждого маяка я не могу потратить столько сил и времени, как это было с маяками Прибалтики, но... это можно будет сделать позже. Главной фишкой приложения "Маяки России" будет то, что все данные будут храниться на сервере и для их изменения не надо будет обновлять приложение. С фотографиями та же ситуация - все они будут не моими. Я с несколькими людьми, которые мне помогают посильно, ищу фотографии в Инсте и ВК, я списываюсь с авторами, большинство из них без проблем предоставляют свои фотографии. Но и в этом случае, найти фотки абсолютно всех маяков - невозможно. Но я рассчитываю, что эта часть контента будет добавлена уже после релиза. Для этого внизу каждой страницы с инфо о маяке добавлена кнопка связи. Вот такой проект. В следующих публикациях я расскажу о том, на какой стадии он находится сейчас, а также непосредственно о программировании.

2 Сентября

Я тут с новым и старым приложениями забыл обо всём на свете, вчера с удивлением узнал, что у нас президент сменился. Скоро будет несколько публикаций именно об этом (о приложениях, не о президенте), а пока продолжу рассказ о создании Таллиннского верхнего маяка в масштабе 1:500. В прошлый раз я остановился на заливке. Не в пример всем предыдущим работам, тут всё пошло как никогда плохо. Смола нещадно лилась между опалубкой и основанием. Я несколько раз полностью её сливал, отделял опалубку и выставлял заново. К уже пропитанной жидкой эпоксидкой древесине ничего не клеилось и ситуация не улучшалась. Пришлось признать, что я потерпел, пожалуй, самое большое фиаско при этой заливке. Пришлось полностью разобрать форму и горячей водой смыть смолу с деревянного основания. Чтобы не повредить маяк, с него смолу я снимать не стал, а дал ей полностью высохнуть, перевернув поделку вверх ногами. Параллельно с этим, я заливал и второй экземпляр. Его форму, перед заливкой смолой, я залил водой, чтобы проверить на протечки. Вода не вытекала. А смола, ска, начала!.. Ну как так-то? Благо, тут протечки были умеренные и в итоге всё получилось. Для первой поделки я тоже собрал новую опалубку, проверил водой и залил вообще без протечек.

Кстати, во всех видео по эпоксидке говорят, что работать с ней надо строго в перчатках. А что будет без них? Я узнал. По запаре очень много хватал смолу голыми руками и потом у меня начала облезать кожа. Обильно и на обоих ладонях.

Шлифовка, к счастью, "сюрпризов" давно не преподносила. Научился начинать с более крупного зерна (240, а в случаях, когда надо снимать "горбы" по 1-2мм - 60), делать грань ровной и только потом переходить на более мелкое зерно. По итогу, получается ощутимо быстрее.

Ну и последнее, о чём хотел бы рассказать - подсветка. При первом приближении всё, как и у Найссаара: моргающий светодиод в лантерне и постоянно горящий в башне. На самом деле всё куда интереснее. Когда я делал коробочку для фонаря, я научился сохранять состояние в память при отключении питания. Это навело меня на мысль реализовать таким образом смену режимов, не уродуя основание переключателем. Подключили кабель питания - окна башни светятся с максимальной яркостью, отключили и подключили ещё раз - со средней, отключили и подключили в третий - не светятся вообще. Идея показалась мне настолько прекрасной, что я буду использовать её и в следующей поделке. Да, светодиод в лантерне всегда светит на максимум.

Таллиннский верхний маяк Таллиннский верхний маяк Таллиннский верхний маяк

Вот такая поделка получилась, сам очень доволен. Если это не новый уровень, то, как минимум, уверенный шаг вперёд. Во всём, кроме процесса заливки.

22 Августа

Трудности картографии

Началось всё с того, что знакомый зарепортил мне ошибку в моём приложении: на iOS не работает кнопка maps.me. Проверил у себя на android - работает, проверил на iPad - не работает. Пошёл гуглить, в чём причина и открылась небольшая табакерка Пандоры. Оказывается, у проекта сейчас переломный момент. Если вкратце, то там новые хозяева, которые имеют видение будущего очень отличное от всей прошлой идеологии проекта. Подробно всё описано тут и тут. Чего в этих статьях не написано, но что обнаружил я:

  • вся информация об API сервиса убрана, есть только инфа двухгодичной давности на GitHub
  • deeplinks (ссылка извне непосредственно в приложение, то, что используется в моём приложении) работают там, где это не сломали
  • официальной информации о deeplinks, опять же, нет

Честно скажу, сам я maps.me никогда не пользовался. На Жужмуе видел у других участников поездки, что тропки и дорожки такого удалённого острова указаны там весьма подробно. Позднее узнал, что там ещё есть возможность экспортировать целые списки маркеров. Очень удобно, но попользоваться уже не судьба. А вот в приложении надо было ошибку как-то исправлять. Первоначальной идеей было просто убрать кнопку на iOS, но не очень она мне нравится. Неизвестно, когда deeplinks и на android сломаются. Разумнее найти альтернативу и заменить maps.me на что-то другое. Я потыкался-помыкался, но ничего хорошего не нашёл. Либо у приложений нет deeplinks, либо популярность их невысока. Когда уже отчаялся, реализовал вариант со скрытием кнопки (обновление пока не вышло) и сегодня утром когда писал этот текст, ища статью на хабре с описанием трудностей maps.me, я нашёл сервис Organic Maps. Это отпочкование от maps.me, но, судя по описанию, весьма продуманное. Сразу же написал в чат поддержки в телеге, получил информацию о deeplinks. Попробовал, всё работает, но карта в приложении не центруется и маркер остаётся где-то за кадром. Потом долгое общение всё в той же телеге, тесты, открытие issue на GitHub, ужин. Короче, я не очень помню как прошёл сегодняшний день. Воскресенье программиста, мля.

18 Августа

Верхом на ракете

Читаю я в последнее время откровенно мало: за этот год всего четыре книги. Хочу немного рассказать о последней прочитанной. Я даже не помню откуда я о ней узнал, так как книга для меня совсем не типичная. Это биография американского астронавта Майка Маллейна "Верхом на ракете: Возмутительные истории астронавта шаттла". Так случилось, что книга невероятно хорошо мне зашла и я с удовольствием дочитал её до последней страницы, не смотря на немалый объём. Вероятно, причина этого в том, что в книге умело перемешаны технические подробности, солдафонский юмор, простые семейные ценности и детские воспоминания. Читал её на Жужмуе, читал на Бенгтшере, брал с собой на Мерсрагс, но там до чтения не добрался. Могу точно сказать, это лучшая из книг, прочитанных мой за последние три года.

Майк Маллейн

Теперь о другом. Времени в последние недели катастрофически мало, кажется, что уже ворую его сам у себя. По крайней мере, субъективно это ощущается именно так. После долгих раздумий, я таки взялся за проект, который отнимет у меня ещё не одну сотню часов жизни - мобильное приложение "Маяки России". Подробнее я расскажу о нём через пару недель. Сейчас же я стараюсь по-быстрее доделать обновление для "Маяков Прибалтики". Опять же, подробности будут после релиза обновления, но главная его фишка - 5 новых маяков в Латвии. Я уже вкратце писал о них. В ближайшие дни будут выходить исторические публикации об этих маяках, а затем, очень надеюсь, и само обновление приложения.

11 Августа

Маяк Найссаар в смоле несколько месяцев стоял у меня на столе и в прямом смысле радовал глаз. Сейчас он у нового хозяина и я решил "восполнить пробел". Одно время у меня была идея сделать точно также какой-нибудь другой маяк, но я решил, что это будет повторением пройденного и мне такое не очень интересно. С тех пор произошли два события, которые заставили меня изменить мнение. Во-первых, я узнал, что существуют Arduino-совместимые платы размером значительно меньше Arduino Nano. Напомню, именно из-за размеров платы мне пришлось делать у Найссаарского маяка такое большое основание - 6 на 6 см. Сейчас у меня есть плата Seeeduino XIAO. Существует ещё более компактная плата Adafruit Trinket, планирую и её опробовать как-нибудь.

Во-вторых, при создании карты я более подробно познакомился с режимами моргания наших маяков, и понял, что Таллиннский верхний маяк светит, если можно так выразиться, красивее всех. Его режим вообще уникален, так как ни один другой маяк Эстонии не делает пять вспышек за цикл. Собственно, этот маяк (точнее его верхняя половина) у меня уже есть в виде самой первой поделки и он тоже стоит и светит уже девятый месяц. Тем не менее, я решил сделать новую поделку с этим маяком. По сути то же самое, что я делал с маяком Найссаар, но на основании в полтора раза меньше. Чтобы использовать ту же опалубку, что я делал для фонарей, надо вписаться в размер 40 на 40 мм и Seeeduino XIAO позволяет это сделать при определённой сноровке. Самое время проверить, умею ли я делать выводы из предыдущего опыта и оптимизировать свою работу на их основании.

Поприкидывав размеры, я решил использовать тот же масштаб, что и для Найссара - 1:500. В первый раз у меня была только официальная высота маяка, на основании которой я высчитывал все остальные размеры по фотографиям при помощи экранной линейки. Понятное дело, соблюдение размеров тут очень условное, гораздо важнее добиться визуального сходства с оригиналом. С Таллиннским маяком всё не так, есть его чертежи, правда, со старой, более низкой лантерной. На них не все размеры, но те что есть, служат хорошей опорой. Сейчас на маяке стоит более высокая лантерна и общая высота маяка из-за этого не такая, как в чертежах. В моём маяке она отличается от официальной примерно на 30 см в пересчёте на реальный размер, а это менее 1%. Неплохой результат. Мелочи, вроде расстояний между окнами, делал на глаз. В общем и целом, расчёты и создание 3d-модели заняли около четырёх часов.

План Таллинского верхнего маяка.

Резделению модели на отдельные детали тоже следовало уделить некоторое внимание. В случае маяка Найссаар эта работа была проделана не очень хорошо. Краска добавляла толщину деталям и после покраски они уже не стыковались так красиво и ровно, как я это задумывал. В итоге маяк получался в прямом смысле кривым, хотя незнающий человек этого не заметит. Вторым плохим моментом было то, что граница белого и красного цветов была в центре детали, несколько раз она получалась у меня плохо и вся деталь уходила в брак. К слову сказать, за всё время работы над маяком Найссаар, в брак ушло более 20 башен, две из которых были уже на самой последней стадии, то есть полностью покрашены, с перилами и светодиодом. В новой поделке хотелось всего этого избежать. Башню вместе с лантерной я разделил на две части по границе чёрного и белого цветов. Решение простое, но работу упрощало существенно.

При печати сразу же выяснился один момент - детализация модели этого маяка выше чем у Найсаара, а на практике мелкие детали (например, обрамление окон) пропечатываются совсем плохо. Я уже смирился, но просмотр одного ролика на Ютьюбе подсказал мне решение. У меня давно лежало сопло 0,2 мм для принтера, самое время его опробовать. Получилось однозначно лучше, чем с соплом 0,4, но и обработку дихлорметаном пришлось делать ювелирную - в прямом смысле под лупой. Вообще, не считая деталей, забракованных при печати, только одна половинка башни пошла в брак.

Покраска ничем не отличалась, но пришлось поломать голову над тем, как сделать непрозрачной башню, толщина которой менее 1 мм. Раньше я красил деталь изнутри чёрной краской. Из-за размеров тут такое не получилось бы. Пришлось обклеить пищевой фольгой. В итоге, два экземпляра маяка были собраны за несколько дней. Дальше - заливка.

Цитировать
в комментарии